#ifndef _IAUTOCMP_H_
#define _IAUTOCMP_H_

EXTERN_C const IID IID_IAutoComplete;
EXTERN_C const IID IID_IAutoComplete2;

EXTERN_C const IID IID_IAutoCompList;
EXTERN_C const IID IID_IObjMgr;
EXTERN_C const IID IID_IACList;
EXTERN_C const IID IID_IACList2;

EXTERN_C const GUID CLSID_AutoComplete;
EXTERN_C const GUID CLSID_ACLHistory;
EXTERN_C const GUID CLSID_ACListISF;
EXTERN_C const GUID CLSID_ACLMRU;
EXTERN_C const GUID CLSID_ACLMulti;



#ifndef __IAutoComplete_FWD_DEFINED__
#define __IAutoComplete_FWD_DEFINED__
typedef interface IAutoComplete IAutoComplete;
#endif 	/* __IAutoComplete_FWD_DEFINED__ */


#ifndef __IAutoComplete2_FWD_DEFINED__
#define __IAutoComplete2_FWD_DEFINED__
typedef interface IAutoComplete2 IAutoComplete2;
#endif 	/* __IAutoComplete2_FWD_DEFINED__ */

#ifndef __IAutoComplete_INTERFACE_DEFINED__
#define __IAutoComplete_INTERFACE_DEFINED__

/* interface IAutoComplete */
/* [unique][uuid][object][local][helpstring] */ 

typedef /* [unique] */ IAutoComplete __RPC_FAR *LPAUTOCOMPLETE;



MIDL_INTERFACE("00bb2762-6a77-11d0-a535-00c04fd7d062")
IAutoComplete : public IUnknown
{
    public:
        virtual HRESULT STDMETHODCALLTYPE Init( 
            /* [in] */ HWND hwndEdit,
            /* [unique][in] */ IUnknown __RPC_FAR *punkACL,
            /* [unique][in] */ LPCOLESTR pwszRegKeyPath,
            /* [in] */ LPCOLESTR pwszQuickComplete) = 0;
			
			virtual HRESULT STDMETHODCALLTYPE Enable( 
            /* [in] */ BOOL fEnable) = 0;
			
};

#endif 	/* __IAutoComplete_INTERFACE_DEFINED__ */


#ifndef __IAutoComplete2_INTERFACE_DEFINED__
#define __IAutoComplete2_INTERFACE_DEFINED__


typedef /* [unique] */ IAutoComplete2 __RPC_FAR *LPAUTOCOMPLETE2;

typedef 
enum _tagAUTOCOMPLETEOPTIONS
    {	
		ACO_NONE	= 0,
		ACO_AUTOSUGGEST	= 0x1,
		ACO_AUTOAPPEND	= 0x2,
		ACO_SEARCH	= 0x4,
		ACO_FILTERPREFIXES	= 0x8,
		ACO_USETAB	= 0x10,
		ACO_UPDOWNKEYDROPSLIST	= 0x20,
		ACO_RTLREADING	= 0x40
    }	AUTOCOMPLETEOPTIONS;


MIDL_INTERFACE("EAC04BC0-3791-11d2-BB95-0060977B464C")
IAutoComplete2 : public IAutoComplete
{
public:
    virtual HRESULT STDMETHODCALLTYPE SetOptions( 
        /* [in] */ DWORD dwFlag) = 0;
		
	virtual HRESULT STDMETHODCALLTYPE GetOptions( 
    /* [out] */ DWORD __RPC_FAR *pdwFlag) = 0;
			
};

#endif 	/* __IAutoComplete2_INTERFACE_DEFINED__ */

#endif //_IAUTOCMP_H_